01. RNN Project: Time Series Prediction and Text Generation

Project Overview

Welcome to the Recurrent Neural Networks (RNN) project in the AI Nanodegree!

In this project you'll build RNNs that can generate sequences based on input data - with a focus on two applications: With the first we'll use real market data in order to predict future Apple stock prices using an RNN model. The second one will be trained on Sir Arthur Conan Doyle's classic novel Sherlock Holmes and will generate wacky sentences based on it that may - or may not - become the next great Sherlock Holmes novel!

Instructions

  1. Follow the Udacity instructions to launch an EC2 GPU instance. You can also see the instructions by navigating through your classroom to 2. Deep Learning and Applications, Lesson 3 Cloud Computing. Make sure you have installed the modules described in the instructions, including the correct version of tensorflow & the udacity-pa module.

    Steps 2-4 should be executed in the EC2 instance.

  2. Clone the RNN project GitHub repository, and navigate to the downloaded folder:

git clone https://github.com/udacity/aind2-rnn
cd aind2-rnn
  1. Start Jupyter: jupyter notebook --ip=0.0.0.0 --no-browser
  2. Look at the output in the window, and find the line that looks like the following:
Copy/paste this URL into your browser when you connect for the first time to login with a token: 
http://0.0.0.0:8888/?token=3156e...
  1. Copy and paste the complete URL into the address bar of a web browser (Firefox, Safari, Chrome, etc). Before navigating to the URL, replace 0.0.0.0 in the URL with the "IPv4 Public IP" address from the EC2 Dashboard. Press Enter.
  2. Click on RNN_project.ipynb. Follow the instructions in the notebook.

(Optional) Instructions for Completing the Project on Your Local Machine

  1. Clone the project and navigate to the downloaded folder.
    git clone https://github.com/udacity/aind2-rnn
    cd aind2-rnn
  1. Download the necessary Python modules.
    pip install -r requirements.txt
  1. Open the notebook and follow the instructions.
    jupyter notebook RNN_project.ipynb

NOTE: While some code has already been implemented to get you started, you will need to implement additional functionality to successfully answer all of the questions included in the notebook. Unless requested, do not modify code that has already been included.

NOTE: In the notebook, you will need to train an RNN in Keras. If your RNN is taking too long to train, you can try to accelerate training with a GPU by following the instructions here.

Evaluation

Your project will be reviewed by a Udacity reviewer against the RNN project rubric. Review this rubric thoroughly and self-evaluate your project before submission. All criteria found in the rubric must met specifications for you to pass.

Project Submission

If you have not already installed the Udacity Project Assistant client, please do so as directed in the project README.

When you execute udacity submit, the script will run jupypter nbconvert --to html RNN_project.ipynb to export your notebook to html. It will then include the files

  • my_answers.py
  • RNN_project.ipynb
  • RNN_project.html

in a zip archive with a name like rnn-674.zip. Please submit this exact file to the reviews system. In other words, you must first submit your solution to the project assistant and then use the resulting file when submitting to Udacity's reviewer network.

Ready to submit your project?

Click on the "Submit Project" button and follow the instructions to submit!